1. Field of the Invention
The present invention relates to a data reading method and data reading apparatus used in a disk drive storage device such as a hard disk drive (HDD), and more particularly to a data reading method and data reading apparatus provided with a sector buffer having a caching function.
2. Description of Related Art
A memory referred to as a sector buffer is provided in disk drive apparatus. A common approach to speed up sequential reading in the disk drive is to continue reading in the following area (this is referred to as look-ahead) when the reading of an area requested by a read command has been completed. Sequential reading speed can thus be improved because when the next read command arrives the data will already be present in the sector buffer memory. The serial numbers assigned to usable sectors are referred to as logical block addresses (LBAs).
FIG. 7 is a diagram explaining the look-ahead operation, which illustrates reading from the disk and activity on the interface. The numbers in the drawing are addresses, and the arrows indicate the sequence of operations.
When the direction is forward, the existing method reads the specified data on the disk, then continues reading from the disk as long as there is space in the buffer memory. Accordingly, until a new read operation is performed, there will be data in the buffer memory, and that data can be transferred. This is a pre-fetch (look-ahead) operation. In the example in FIG. 7, when a first command (Read 10111 Length 3) is issued, the reading of the area (10111-10113) requested by the command is carried out from the disk with transfer on the interface. When the reading of the area requested by the read command has been completed, reading of the following area (10114 - - - ) continues.
Thus the read-cache process reads data that the host device commands to be read, or pre-fetches data predicted to be read in the future from the magnetic disk (look-ahead) and retains the data in a memory.
In conventional disk drives of this type, although sequential reading could be speeded up by look-ahead, no consideration was given to backward sequential reading. Thus, when backward sequential reading was performed, the operation of reading data from the disk would continue to be performed after the command arrived, with the problem that the processing took more time than for forward sequential reading.
This problem is heightened by the more recent use of disk drive storage devices such as HDDs for recording and editing video signals. Here, when the video signal is played in reverse, backward sequential reading is carried out on the HDD. Since backward reading performance is worse than in forward reading, the system must be designed on the basis of the backward sequential reading performance. When there is a large performance difference between backward sequential reading and forward reading, a design matched to the backward sequential reading performance underestimates the performance of the HDD, increasing the cost. If attempts are made to contain the cost, the stability of system operations cannot be guaranteed because backward reading margins are reduced.
Thus, it can be seen that there is a need in the art to provide a less expensive and highly reliable data reading method and apparatus that can improve backward sequential reading performance.
To overcome the shortcomings of the prior art described above, it is the object of the present invention is to provide a less expensive and highly reliable data reading method and data reading apparatus that can improve backward sequential reading performance.
A data reading method according to the present invention is a data reading method for reading data from a storage medium, comprising the steps of detecting backward reading, and carrying out control to start reading data from an address previous to a current address, upon completion of the reading of data from the storage medium.
A data reading method according to the present invention is a data reading method for reading data from a storage medium, comprising the steps of detecting backward reading, receiving a command to read a block of a first length from a first LBA, reading a block of the first length from the first LBA, and reading a block of a second length from a second LBA smaller than the first LBA.
The aforesaid step of detecting backward reading may check a backward sequential LBA, signifying backward reading, at each command, and recognize backward reading when the backward sequential LBA matches a certain number of times consecutively.
The aforesaid step of detecting backward reading may compare the average read length of one command with a segment size, and start to read from a point one segment size before when the read length is smaller than a certain value responsive to the segment size of a buffer.
The aforesaid step of detecting backward reading may start to read from the second LBA when the length of the data is a certain value responsive to the segment size of a buffer, or the aforesaid step of detecting backward reading may compare the average read length L of one command with a segment size, and return to the second LBA and start to read, when the read length is larger than a certain value responsive to the segment size of a buffer.
A data reading apparatus according to the present invention is a data reading apparatus for reading data from a storage medium, comprising a backward reading detection means for detecting backward reading, and a control means for starting to read data from an address previous to a current address, upon completion of the reading of data from the storage medium, when backward reading is detected by the backward reading detection means.
A data reading apparatus according to the present invention is a data reading apparatus for reading data from a storage medium, comprising a backward reading detection means for detecting backward reading, a means for receiving a command to read a block of a first length from a first LBA, a means for reading a block of the first length from the first LBA, when backward reading is detected by the detection means, and a means for reading a block of a second length from a second LBA smaller than the first LBA.
The above, as well as additional objects, features and advantages of the present invention will become apparent in the following detailed written description.